package com.hulk.ratel.persistence.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.hulk.ratel.persistence.entity.SuperEntity;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author hulk
 * @since 2018-12-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("t_log_txn_pay_record")
public class LogTxnPayRecord extends SuperEntity {

    private static final long serialVersionUID = 1L;

    @TableField("int_cut_date")
    private String intCutDate;

    /**
     * 此id报文头返回给合作方， 同时发送给支付机构作为流水号，同时在平台内部作为唯一的日志跟踪号，最终作为本表的唯一id标识号。
     */
    @TableField("work_id")
    private String workId;

    @TableField("merchant_code")
    private String merchantCode;

    /**
     * plat_merchant_code与相同
     */
    @TableField("org_merchant_code")
    private String orgMerchantCode;

    /**
     * 内部分配的支付机构号 对应org_partner_no
            
     */
    @TableField("org_code")
    private String orgCode;

    /**
     * 链路的终端机构
     */
    @TableField("overorg_code")
    private String overorgCode;

    @TableField("version")
    private String version;

    @TableField("partner_type")
    private String partnerType;

    @TableField("partner_no")
    private String partnerNo;

    @TableField("area_code")
    private String areaCode;

    @TableField("city_code")
    private String cityCode;

    @TableField("province_code")
    private String provinceCode;

    /**
     * LBS:定位
            MBH:号段
     */
    @TableField("locate_flag")
    private String locateFlag;

    @TableField("trace_id")
    private String traceId;

    @TableField("txn_type")
    private String txnType;

    @TableField("txn_code")
    private String txnCode;

    @TableField("req_date")
    private String reqDate;

    @TableField("req_time")
    private String reqTime;

    @TableField("subject")
    private String subject;

    @TableField("description")
    private String description;

    @TableField("operator_no")
    private String operatorNo;

    @TableField("shop_code")
    private String shopCode;

    @TableField("terminal_no")
    private String terminalNo;

    @TableField("goods_tag")
    private String goodsTag;

    @TableField("expire_time")
    private Integer expireTime;

    @TableField("qr_code")
    private String qrCode;

    @TableField("pay_scene")
    private String payScene;

    @TableField("uuid")
    private String uuid;

    @TableField("auth_code")
    private String authCode;

    @TableField("source_id")
    private String sourceId;

    /**
     * 刷单交易 SCALP
            正常交易 NORMAL
     */
    @TableField("buss_type")
    private String bussType;

    /**
     * (支付机构异步通知)
            贷：C  
            借 ：D
            其他 ：O
     */
    @TableField("dcredit_flag")
    private String dcreditFlag;

    @TableField("total_amt")
    private Integer totalAmt;

    @TableField("buyer_pay_amt")
    private Integer buyerPayAmt;

    @TableField("favor_amt")
    private Integer favorAmt;

    @TableField("point")
    private Integer point;

    @TableField("call_back_url")
    private String callBackUrl;

    @TableField("resp_date")
    private String respDate;

    @TableField("resp_time")
    private String respTime;

    @TableField("resp_code")
    private String respCode;

    @TableField("resp_msg")
    private String respMsg;

    @TableField("async_version")
    private String asyncVersion;

    @TableField("async_txn_code")
    private String asyncTxnCode;

    @TableField("async_trace_id")
    private String asyncTraceId;

    @TableField("async_ori_trace_id")
    private String asyncOriTraceId;

    /**
     * trace_id与相同
     */
    @TableField("async_work_id")
    private String asyncWorkId;

    @TableField("async_resp_code")
    private String asyncRespCode;

    @TableField("async_resp_msg")
    private String asyncRespMsg;

    @TableField("async_resp_date")
    private String asyncRespDate;

    @TableField("async_resp_time")
    private String asyncRespTime;

    @TableField("async_status")
    private String asyncStatus;

    /**
     * 01-受理请求插入流水
            02-向支付机构发送请求等待支付机构响应
            03-收到支付机构同步响应
            04-收到支付机构回调响应
            05-返回前端商户同步交易完成
            06-返回前端商户回调交易完成
            
     */
    @TableField("step")
    private String step;

    /**
     * 99-超时
            04-处理中
            01-交易成功
            02-交易失败
            03-初始
            05-待支付
            
            
     */
    @TableField("status")
    private String status;

    @TableField("org_acct_date")
    private String orgAcctDate;

    @TableField("org_version")
    private String orgVersion;

    @TableField("org_partner_type")
    private String orgPartnerType;

    @TableField("org_partner_no")
    private String orgPartnerNo;

    @TableField("org_trace_id")
    private String orgTraceId;

    @TableField("org_resp_seq_id")
    private String orgRespSeqId;

    @TableField("org_clear_flag")
    private String orgClearFlag;

    @TableField("org_pay_time")
    private String orgPayTime;

    @TableField("org_req_date")
    private String orgReqDate;

    @TableField("org_req_time")
    private String orgReqTime;

    @TableField("org_resp_date")
    private String orgRespDate;

    @TableField("org_resp_time")
    private String orgRespTime;

    @TableField("org_resp_flag")
    private String orgRespFlag;

    @TableField("org_resp_code")
    private String orgRespCode;

    @TableField("org_resp_msg")
    private String orgRespMsg;

    @TableField("org_async_version")
    private String orgAsyncVersion;

    @TableField("org_async_trace_id")
    private String orgAsyncTraceId;

    @TableField("org_async_ori_trace_id")
    private String orgAsyncOriTraceId;

    /**
     * trace_id与相同
     */
    @TableField("org_async_work_id")
    private String orgAsyncWorkId;

    @TableField("org_async_resp_flag")
    private String orgAsyncRespFlag;

    @TableField("org_async_resp_code")
    private String orgAsyncRespCode;

    @TableField("org_async_resp_msg")
    private String orgAsyncRespMsg;

    @TableField("org_async_resp_date")
    private String orgAsyncRespDate;

    @TableField("org_async_resp_time")
    private String orgAsyncRespTime;

    @TableField("org_async_status")
    private String orgAsyncStatus;

    @TableField("client_ip")
    private String clientIp;



    @TableField("ori_id")
    private String oriId;



    @TableField("rsv1")
    private String rsv1;

    @TableField("rsv2")
    private String rsv2;


    public static final String INT_CUT_DATE = "int_cut_date";

    public static final String WORK_ID = "work_id";

    public static final String MERCHANT_CODE = "merchant_code";

    public static final String ORG_MERCHANT_CODE = "org_merchant_code";

    public static final String ORG_CODE = "org_code";

    public static final String OVERORG_CODE = "overorg_code";

    public static final String VERSION = "version";

    public static final String PARTNER_TYPE = "partner_type";

    public static final String PARTNER_NO = "partner_no";

    public static final String AREA_CODE = "area_code";

    public static final String CITY_CODE = "city_code";

    public static final String PROVINCE_CODE = "province_code";

    public static final String LOCATE_FLAG = "locate_flag";

    public static final String TRACE_ID = "trace_id";

    public static final String TXN_TYPE = "txn_type";

    public static final String TXN_CODE = "txn_code";

    public static final String REQ_DATE = "req_date";

    public static final String REQ_TIME = "req_time";

    public static final String SUBJECT = "subject";

    public static final String DESCRIPTION = "description";

    public static final String OPERATOR_NO = "operator_no";

    public static final String SHOP_CODE = "shop_code";

    public static final String TERMINAL_NO = "terminal_no";

    public static final String GOODS_TAG = "goods_tag";

    public static final String EXPIRE_TIME = "expire_time";

    public static final String QR_CODE = "qr_code";

    public static final String PAY_SCENE = "pay_scene";

    public static final String UUID = "uuid";

    public static final String AUTH_CODE = "auth_code";

    public static final String SOURCE_ID = "source_id";

    public static final String BUSS_TYPE = "buss_type";

    public static final String DCREDIT_FLAG = "dcredit_flag";

    public static final String TOTAL_AMT = "total_amt";

    public static final String BUYER_PAY_AMT = "buyer_pay_amt";

    public static final String FAVOR_AMT = "favor_amt";

    public static final String POINT = "point";

    public static final String CALL_BACK_URL = "call_back_url";

    public static final String RESP_DATE = "resp_date";

    public static final String RESP_TIME = "resp_time";

    public static final String RESP_CODE = "resp_code";

    public static final String RESP_MSG = "resp_msg";

    public static final String ASYNC_VERSION = "async_version";

    public static final String ASYNC_TXN_CODE = "async_txn_code";

    public static final String ASYNC_TRACE_ID = "async_trace_id";

    public static final String ASYNC_ORI_TRACE_ID = "async_ori_trace_id";

    public static final String ASYNC_WORK_ID = "async_work_id";

    public static final String ASYNC_RESP_CODE = "async_resp_code";

    public static final String ASYNC_RESP_MSG = "async_resp_msg";

    public static final String ASYNC_RESP_DATE = "async_resp_date";

    public static final String ASYNC_RESP_TIME = "async_resp_time";

    public static final String ASYNC_STATUS = "async_status";

    public static final String STEP = "step";

    public static final String STATUS = "status";

    public static final String ORG_ACCT_DATE = "org_acct_date";

    public static final String ORG_VERSION = "org_version";

    public static final String ORG_PARTNER_TYPE = "org_partner_type";

    public static final String ORG_PARTNER_NO = "org_partner_no";

    public static final String ORG_TRACE_ID = "org_trace_id";

    public static final String ORG_RESP_SEQ_ID = "org_resp_seq_id";

    public static final String ORG_CLEAR_FLAG = "org_clear_flag";

    public static final String ORG_PAY_TIME = "org_pay_time";

    public static final String ORG_REQ_DATE = "org_req_date";

    public static final String ORG_REQ_TIME = "org_req_time";

    public static final String ORG_RESP_DATE = "org_resp_date";

    public static final String ORG_RESP_TIME = "org_resp_time";

    public static final String ORG_RESP_FLAG = "org_resp_flag";

    public static final String ORG_RESP_CODE = "org_resp_code";

    public static final String ORG_RESP_MSG = "org_resp_msg";

    public static final String ORG_ASYNC_VERSION = "org_async_version";

    public static final String ORG_ASYNC_TRACE_ID = "org_async_trace_id";

    public static final String ORG_ASYNC_ORI_TRACE_ID = "org_async_ori_trace_id";

    public static final String ORG_ASYNC_WORK_ID = "org_async_work_id";

    public static final String ORG_ASYNC_RESP_FLAG = "org_async_resp_flag";

    public static final String ORG_ASYNC_RESP_CODE = "org_async_resp_code";

    public static final String ORG_ASYNC_RESP_MSG = "org_async_resp_msg";

    public static final String ORG_ASYNC_RESP_DATE = "org_async_resp_date";

    public static final String ORG_ASYNC_RESP_TIME = "org_async_resp_time";

    public static final String ORG_ASYNC_STATUS = "org_async_status";

    public static final String CLIENT_IP = "client_ip";



    public static final String ORI_ID = "ori_id";





    public static final String RSV1 = "rsv1";

    public static final String RSV2 = "rsv2";

}
